自學區塊鏈這次的課程談到了挖礦和哈希雜湊。
哈希雜湊(Hash table)是密碼學的其中一種分類,
是一種單向雜湊,
可將長度不固定的資料轉換為固定長度的字串,
例如比特幣使用的SHA-256就是其中一種。
哈希雜湊就像指紋一樣,
兩筆不同的資料輸入後,
即使資料彼此間差異非常小,
仍然會得出截然不同的結果。
其結果產生的速度非常快,
幾乎像石蕊試紙一樣滴下去就能看到結果。
而上面提到,
即使兩筆資料非常相像,
產出的結果卻是非常不一樣的。
從這裡也可以看出來,
你幾乎無法從結果到推回你的資料,
增加了資料的機密性。
而因為只要資料內容稍有更動,
出來的數值就會變動,
因此也確保了原始資料的完整性,
無隨意更動不被發現。
順帶一提,
在區塊鏈的應用上,
比特幣會運用調整哈希數值的規範來控管挖礦的難度,
例如通常數值比須符合前面是4個0,
但在有太多高強度計算電腦的情況下,
可能就會變成前面6個0。
目前比特幣會控制挖礦難度在每十分鐘產生一個區塊。
參考資料:
https://medium.com/d-d-mag/為什麼你需要懂一點密碼學-709c090452aa
https://ithelp.ithome.com.tw/articles/10208884
https://programmermagazine.github.io/201401/htm/message2.html